from flask import Flask
# 导入数据库
from flask_sqlalchemy import SQLAlchemy
# 使用扩展实现session信息的存储
from flask_session import Session
# 导入配置文件
from config import config


# 定义工厂函数,让函数接收参数，来选择不同模式下的app
def create_app(config_name):
    # 实例化一个flask对象,默认传一个__name__参数
    app = Flask(__name__)

    # 从加载类对象配置
    app.config.from_object(config[config_name])

    # 实例化数据库
    db = SQLAlchemy(app)

    # 让session和程序实例进行关联
    Session(app)

    # 导入蓝图对象，进行注册
    from info.modules.news import news_blue
    app.register_blueprint(news_blue)


    return app